1. Field of the Invention
The present invention relates generally to software objects, and in particular, to a method, apparatus, and article of manufacture for providing a framework for objects with authorable behaviors and appearances for computer programs.
2. Description of the Related Art
The use of Computer Assisted Drafting (CAD) application programs is well known in the art. Some CAD programs provide templates and palettes that help users create documents, graphical presentations, etc. However, these templates and palettes provide only limited assistance and do little to help the user connect standard CAD components, define new components, or define methods of manipulating the components within the CAD program.
Most standard components are predefined by the CAD program itself, leaving little room for the user to define custom shapes without using the predefined standard components as building blocks. A user must manipulate standard components to define a shape or outline, place them spatially proximate on a working screen, and then group them together using a grouping or wrapping function. This multiple step approach of dragging components onto the screen and then modifying the components to create a new shape or outline within a document is inefficient and time consuming.
Further, once a custom or semi-custom component is created, the custom or semicustom component cannot use variables defined with expressions, and cannot be used with other shapes or components automatically. Moreover, the isolated creation of components that are not able to be shared between components and users, as well as the inability of present CAD programs to use expressions to define the component, limits the capabilities of current CAD programs. The creation of components with current CAD programs is also not easily learned by a user. Further, these limitations prevent many users from utilizing the CAD program to its fullest extent.
Consequently, there is a need in the art for improved techniques for creating components in a CAD program, in order to create documents faster. Further, there is a need in the art for improved techniques for direct manipulation of software objects.
To address the requirements described above, the present invention discloses a method, apparatus, and article of manufacture for enabling the creation of authorable objects. The framework serves as an expression evaluator, notification manager, and can traverse individual object models to use properties of one model to define another.
An object model (data model) is a map of an object""s properties and methods. The framework of the present invention binds to the properties and methods and intercepts access to the properties for storage and evaluation of variables within the definitions of the properties.
Binding the Flex Property Container to the object accesses and uses the type info for the object to determine the properties of the object. In addition, the framework provides a method for the object author to override and specialize the properties to describe extensions of the type information.